//
//  SYRefreshControl.h
//  FlagForiOS
//
//  Created by 容贤郁 on 2016/12/10.
//  Copyright © 2016年 Minidai. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

typedef NS_ENUM(NSInteger, MJRefreshSupport) {
    MJRefreshSupportALl     = 0, //同时提供下拉刷新和上拉加载功能
    MJRefreshSupportNone    = 1, //不提供下拉刷新和上拉加载功能
    MJRefreshSupportRefresh,     //只提供下拉刷新
    MJRefreshSupportLoadMore     //只提供上拉加载更多
};

@interface SYRefreshControl : NSObject

/**
 *  配置普通模式的tableView的下拉刷新下拉加载功能
 *  @pram scrollView       需要配置的UIScrollView或者其子类
 *  @pram refreshType      提供上拉下拉的类型
 *  @pram beginRefresh     是否立即刷新
 *  @pram timeLabelHidden  是否隐藏更新时间的Label
 *  @pram stateLabelHidden 是否隐藏状态Label
 *  @pram refreshBlock     刷新的block
 *  @pram loadMoreBlock    上拉加载更多的block
 */
+ (void)configNormalMJRefresh:(UIScrollView *)scrollView
                  refreshType:(MJRefreshSupport)refreshType
                 beginRefresh:(BOOL)beginRefresh
              timeLabelHidden:(BOOL)timeLabelHidden
             stateLabelHidden:(BOOL)stateLabelHidden
                 refreshBlock:(void(^)(void))refreshBlock
                loadMoreBlock:(void(^)(void))loadMoreBlock;

/**
 *  配置普通模式的tableView的下拉刷新下拉加载功能
 *  @pram scrollView       需要配置的UIScrollView或者其子类
 *  @pram refreshType      提供上拉下拉的类型
 *  @pram beginRefresh     是否立即刷新
 *  @pram timeLabelHidden  是否隐藏更新时间的Label
 *  @pram stateLabelHidden 是否隐藏状态Label
 *  @pram refreshBlock     刷新的block
 *  @pram loadMoreBlock    上拉加载更多的block
 */
+ (void)configGifMJRefresh:(UIScrollView *)scrollView
                  refreshType:(MJRefreshSupport)refreshType
                 beginRefresh:(BOOL)beginRefresh
              timeLabelHidden:(BOOL)timeLabelHidden
             stateLabelHidden:(BOOL)stateLabelHidden
                 refreshBlock:(void(^)(void))refreshBlock
                loadMoreBlock:(void(^)(void))loadMoreBlock;

/** 刷新或者加载数据后的处理，使scrollView停止动画 */
+ (void)configAfterLoading:(UIScrollView *)scrollView
                   hasData:(BOOL)hasData;

@end
